﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

using PMServiceDesk.BusinessLogic;
using PMServiceDesk.DataType;
using PMServiceDesk.Utils.Interfaz;
using PMServiceDesk.Parameters.Constantes;

namespace PMServiceDesk.Web.AppCode
{
    public static class FileIU
    {
        public static string UploadFile(FileUpload archivo, bool saveFileServer)
        {
            if (!archivo.HasFile) return "0";

            if (archivo.PostedFile == null) return "0";

            int longitud = archivo.PostedFile.ContentLength;

            if (longitud <= 0) return "0";

            Byte[] byteImage = new Byte[longitud];
            archivo.PostedFile.InputStream.Read(byteImage, 0, longitud);

            KeyValuePair<string, string> filenames = InterfazUtils.Archivo_Extension(archivo.PostedFile.FileName);

            DocumentoDigitalType documento = new DocumentoDigitalType();
            documento.Nombre = filenames.Key;
            documento.Extension = filenames.Value;
            documento.Content = byteImage;
            documento.ContentType = archivo.PostedFile.ContentType;

            if (saveFileServer)
            {
                documento.FileServer = InterfazUtils.RootArchiveFileServer(ArchivoConfig.FileServer, Sesion.Usuario.Usuario, archivo.PostedFile.FileName);
                archivo.SaveAs(documento.FileServer);
            }

            new DocumentoDigitalLogic().Grabar(documento);

            return documento.Id;
        }
    }
}